package cn.qingyun.gis.modules.init.utils;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;
import java.util.stream.Collectors;

public class PageUtil {
    /**
     * 手动分页
     *
     * @param list     要分页的集合
     * @param pageNum  页码
     * @param pageSize 页码尺寸
     * @param total    总数
     * @return
     */
    public static IPage queryPageListUtil(List list, Integer pageNum, Integer pageSize, Integer total) {
        int pages = total / pageSize;
        Page page = new Page<>();
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        page.setPages(pages);
        page.setTotal(total);
        page.setRecords(list);
        return page;
    }

    /**
     * 手动分页--假分页
     *
     * @param list     要分页的集合
     * @param pageNo   页码
     * @param pageSize 页码尺寸
     * @return
     */
    public static IPage manualPageList(List list, Integer pageNo, Integer pageSize) {
        int total = list.size();
        int pages = total / pageSize;
        Page page = new Page<>();
        page.setSize(pageSize);
        page.setCurrent(pageNo);
        page.setPages(pages);
        page.setTotal(total);
        List result = (List) list.stream().skip(pageSize * (pageNo - 1)).limit(pageSize).collect(Collectors.toList());
        page.setRecords(result);
        return page;
    }
}
